package sy1_introduction;
/*
 * 庞大的跨平台图像浏览系统
 * 原始的解决方案采用继承方式，当新增新的图片格式或操作系统时，虽然不需要修改已有类，但会导致类的数量的组合爆炸
 * 桥接模式能实现两个维度的独立变化
 */
abstract class Image{  //图像抽象类
	public abstract void show();  //抽象方法
}

class BMPImage extends Image{  
	@Override
	public  void show() {
		System.out.println("显示BMP图片");
	}
}

class JPGImage extends Image{ 
	@Override
	public  void show() {
		System.out.println("显示JPG图片");
	}
}

class BMPWindowsImp extends BMPImage{

	@Override
	public void show() {
		System.out.println("在Windows环境下显示BMP格式的图像文件");
	}
}

class JPGWindowsImp extends JPGImage{

	@Override
	public void show() {
		System.out.println("在Windows环境下显示JPG格式的图像文件");
	}
}

public class ImageBrowser {  //客户端
	public static void main(String[] args) {
		BMPWindowsImp imp = new BMPWindowsImp();
		imp.show();
	}
}
